// pages/homepage/index/index.ts
let config = require("../../utils/config");
import { http } from "../../utils/request";
const app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    userRole: false,
    isLogin: false,
    bannerArr: [],
    userHead: "/images/ic-default-head.png",
    userName: "立即登录",
    navs: [{txt:'最近',type:""},{txt:'直播中',type: 20},{txt:'未开始',type: 10},{txt:'已结束',type: 30}],
    navCurrent: 0,
    listHeight: 0,
    listLive:[], //直播列表
    listStatus: "", //直播状态
    pageIndex: 1,
    finished: false,

    listType: [], //直播类目列表
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    // wx.requestSubscribeMessage({
    //   tmplIds: ['VMidqtOrgpIzst0rKotbuS7JAwHVbd3GRq8UQNFfkHE'], //普通一次性订阅消息 模板id
    //   success(res){
    //   },
    // })
  },

  /** 更改头像 */
  onChooseAvatar(e) {
    config.setLoginInfo("HEADURL",e.detail.avatarUrl);
    this.setData({
      userHead: e.detail.avatarUrl
    })
  },

  /** 查询轮播图 */
  queryBanner(){
    let that = this;
    http.requestData("GET","SysAdPic/GetList",{
      //参数
    }).then(res=>{
      if(res.Tag == 10){
        res.Data.forEach(item=>{
          item.ImgUrl = config.hostUrl + item.ImgUrl
        })
        that.setData({
          bannerArr: res.Data
        })
      }else{
        http.showToast(res.Message)
      }
    })
  },

  /** banner 详情 */
  bannerTap(e){
    let tid = e.currentTarget.dataset.id;
    http.href("/pages/liveList/index?tid="+tid);
    // http.href("/pages/homepage/banner/index?link="+e.currentTarget.dataset.link);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setData({
      pageIndex: 1,
      listLive: []
    })
    this.queryBanner();
    // wx.showLoading();
    let that = this;
    setTimeout(() => {
      if(config.OPENID() && config.TEL()){
        that.initUser();
        that.GetVideoType();
        // that.queryLiveData();
      }
      // wx.hideLoading();
    }, 1000);
  },

  /** 初始用户信息 */
  initUser(){
    this.setData({
      userRole: config.ROLE(),
      isLogin: config.isLogin(),
      userName: config.NICKNAME()?config.NICKNAME():"立即登录",
      userHead: config.HEADURL()?config.HEADURL():"/images/ic-default-head.png"
    })
  },

  /** 登录 */
  loginTap(){
    if(this.data.isLogin){//已登录
      return
    }
    http.href("/pages/authlogin/index?from=home")
  },


  /** 直播类目 */
  // /api/
  GetVideoType(){
    let that = this;
    http.requestData("GET","Live/GetVideoType",{
    },true).then(res=>{
      if(res.Tag==10){
        if(res.Data){
          that.data.listType = [];
          res.Data.forEach(item=>{
            if(item.ImgSrc){
              item.ImgSrc = config.hostUrl + item.ImgSrc;
            }
            that.data.listType.push(item)
          })
          that.setData({
            listType: that.data.listType
          })
        }
      }else{
        http.showToast(res.Message);
      }

    })
  },

  /** 查询直播列表 */
  queryLiveData(){
    let that = this;
    http.requestData("GET","Live/GetPageList",{
      status: this.data.listStatus,
      IsToday: this.data.listStatus?false:true, //最近的为true，其他为false
      pageIndex: this.data.pageIndex,
      pageSize: 10
    },true).then(res=>{
      if(res.Tag==10){
        if(that.data.pageIndex == 1){
          that.data.listLive = [];
        }
        res.Data.forEach(item=>{
          item.Cover = item.Cover?config.hostUrl + item.Cover:"/images/default.png",
          that.data.listLive.push(item)
        })
        that.setData({
          listLive: that.data.listLive,
          finished: res.Data.length<10?true:false
        })
      }else{
        http.showToast(res.Message)
      }
      that.setLiveHeight();
    })
  },

  /** 设置直播列表 swiper 的高度 */
  setLiveHeight(){
    let that = this;
    let query = wx.createSelectorQuery();
    query.select('.section-live-item').boundingClientRect(function(rect){
      if(rect){
        that.setData({
          listHeight: rect.height*that.data.listLive.length
        })
      }else{
        that.setData({
          listHeight: 0
        })
      }
    }).exec();
  },

  // tab切换
  tabChange:function(e){
    this.setData({
      listLive: [],
      finished: true
    });
    let index = e.currentTarget.dataset.idx;
    let status = e.currentTarget.dataset.type;
    this.setData({
      navCurrent: index,
      listStatus: status,
      pageIndex: 1,
    })
    // 店长身份，并且已登录
    if(config.ROLE() && this.data.isLogin){
      this.queryLiveData();
    }
  },
  /** 列表左右滑动事件 */
  switchTabChange(e){
    if(e.detail.source == 'touch'){
      wx.pageScrollTo({
        scrollTop: 0
      })
      this.setData({
        navCurrent: e.detail.current,
        listStatus: this.data.navs[e.detail.current].type,
        pageIndex: 1,
      });
      // 店长身份，并且已登录
      if(config.ROLE() && this.data.isLogin){
        this.queryLiveData();
      }
    }
  },
  /**
   * 跳直播间
   */
  tolivePlayer(e){
    let item = e.currentTarget.dataset.item;
    if(!this.data.isLogin){
      http.href("/pages/authlogin/index?from=home");
      return;
    }

    if(item.Status==30){//已结束 跳到直播介绍界面
      app.globalData.firstShow = false;
      http.href("/pages/livePlayer/liveBrief/index?po="+item.PO);
    }else{ //未开始，直播中 直接进入主播间
      if(item.DisplayModel==10){ //竖屏直播间
        http.href("/pages/livePlayer/index?po="+item.PO+"&state="+item.Status + "&pull="+item.OnPullUrl);
      }else{ //横屏直播间
        http.href("/pages/livePlayer_H/index?po="+item.PO+"&state="+item.Status + "&pull="+item.OnPullUrl);
      }
    }
  },


  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // if(this.data.finished){
    //   return;
    // }
    // this.setData({
    //   pageIndex: this.data.pageIndex+1
    // })
    // this.queryLiveData();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
    
})